#include<stdio.h>
#include<string.h>
#include<mysql/mysql.h>

#define HOST "127.0.0.1"
#define USER "root"
#define PASS "s@057931"
#define DBNAME "gobang"
int main()
{
    //初始化
    MYSQL* mysql=mysql_init(NULL);
    if(mysql==NULL)
    {
        printf("mysql init fail");
        return -1;
    }
    //连接数据库
    if(mysql_real_connect(mysql,HOST,USER,PASS,DBNAME,3306,NULL,0)==NULL)
    {
        printf("connect mysql server fail:%s\n",mysql_error(mysql));
        mysql_close(mysql);
        return -1;
    }
    //设置字符集
    if(mysql_set_character_set(mysql,"utf8")!=0)
    {
        printf("set character fail:%s\n",mysql_error(mysql));
        mysql_close(mysql);
        return -1;
    }
    //选择要操作的数据库
    //int mysql_select_db(mysql,DBNAME)
    //由于上面默认选择过了，因此这里跳过

    // //执行增加sql语句
    // char* sql="insert into stu values(null,'小明',1,2,3,4);";
    // int ret=mysql_query(mysql,sql);
    // if(ret!=0)
    // {
    //     printf("sql %s fail",sql);
    //     mysql_close(mysql);
    //     return -1;
    // }
    // //修改
    // sql="update stu set ch=ch+10 where name='小明'";
    // ret=mysql_query(mysql,sql);
    // if(ret!=0)
    // {
    //     printf("sql %s fail",sql);
    //     mysql_close(mysql);
    //     return -1;
    // }
    //查询,保存结果到本地
    char* sql="select * from stu";
    int ret=mysql_query(mysql,sql);
    if(ret!=0)
    {
        printf("sql %s fail",sql);
        mysql_close(mysql);
        return -1;
    }
    MYSQL_RES* res=mysql_store_result(mysql);
    if(res==NULL)
    {
        mysql_close(mysql);
        return -1;
    }
    //获取结果条数，行与列
    int num_row=mysql_num_rows(res);//行
    int num_field=mysql_num_fields(res);//列
    //遍历结果
    for(int i=0;i<num_row;++i)
    {
        MYSQL_ROW row=mysql_fetch_row(res);
        for(int j=0;j<num_field;++j)
        {
            //mysql取到的结果默认是字符串形式，如果有需要其他形式要自己转换
            printf("%s\t",row[j]);
        }
        printf("\n");
    }
    //释放结果集
    mysql_free_result(res);
    // //删除
    // sql="delete from stu where name='小明';";
    // ret=mysql_query(mysql,sql);
    // if(ret!=0)
    // {
    //     printf("sql %s fail",sql);
    //     mysql_close(mysql);
    //     return -1;
    // }
}